//import ElevatorPackage.Elevator;
//import ElevatorPackage.StepElevator;
//
//import javax.swing.*;
//import java.awt.*;
//import java.awt.event.*;
//import java.util.Hashtable;
//import java.util.Observable;
//import java.util.Observer;
//
///**
// * Created by IntelliJ IDEA.
// * User: Connor Madden
// * Date: 7/08/11
// * Time: 11:53 AM
// * To change this template use File | Settings | File Templates.
// */
//public class ElevatorGuiFrame extends JFrame implements ActionListener, ItemListener, Observer {
//
//    public static final int TOP = 10;
//    public static final int BOTTOM = 0;
//
//    Elevator elevator;
//    JPanel elevatorShaftPanel;
//    JPanel desBoxPanel;
//    JComboBox floorDesBox;
//    Hashtable floorHash;
//    String[] floorArr;
//
//    public ElevatorGuiFrame() {
//
//        // Format content pane
//        setLayout(new BoxLayout(getContentPane(), BoxLayout.X_AXIS));
//        setResizable(false);
//
//        // Create Panels
//        desBoxPanel = new JPanel();
//        add(desBoxPanel);
//
//        elevatorShaftPanel = new JPanel(new GridLayout(TOP - BOTTOM + 1, 1));
//        add(elevatorShaftPanel);
//
//        // Store floor details
//        floorHash = new Hashtable(TOP - BOTTOM + 1);
//        floorArr = new String[TOP - BOTTOM + 1];
//
//        int x = 0;
//        for (int i = TOP; i >= BOTTOM; i--) {
//            floorArr[x] = Integer.toString(i);
//            x++;
//
//            JLabel label = new JLabel(Integer.toString(i));
//            floorHash.put(new Integer(i), label);
//            elevatorShaftPanel.add(label);
//        }
//        floorDesBox = new JComboBox(floorArr);
//        floorDesBox.addItemListener(this);
//        desBoxPanel.add(floorDesBox);
//        desBoxPanel.add(Box.createRigidArea(new Dimension(10, 0)));
//
//        JMenuBar menuBar;
//        JMenu menu;
//        JMenuItem menuItem;
//
//        //Create the menu bar.
//        menuBar = new JMenuBar();
//
//        //Build the File menu.
//        menu = new JMenu("File");
//        menu.setMnemonic(KeyEvent.VK_F);
//        menu.getAccessibleContext().setAccessibleDescription(
//                "File options menu");
//        menuBar.add(menu);
//
//        // New Simulation
//        menuItem = new JMenuItem("New Simulation",
//                KeyEvent.VK_N);
//        menuItem.getAccessibleContext().setAccessibleDescription(
//                "Start new simulation");
//        menuItem.setAccelerator(KeyStroke.getKeyStroke(
//                KeyEvent.VK_N, ActionEvent.ALT_MASK));
//        menuItem.addActionListener(this);
//        menu.add(menuItem);
//
//        // Exit
//        menuItem = new JMenuItem("Exit",
//                KeyEvent.VK_X);
//        menuItem.getAccessibleContext().setAccessibleDescription(
//                "Close program");
//        menuItem.addActionListener(this);
//        menu.add(menuItem);
//
//        this.setJMenuBar(menuBar);
//
//        elevator = new StepElevator(BOTTOM, 1000);
//        elevator.addObserver(this);
//        showElePos(elevator.getLoc());
//        floorDesBox.setSelectedItem(Integer.toString(elevator.getLoc()));
//
//        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//        this.pack();
//        this.setVisible(true);
//    }
//
//    public void actionPerformed(ActionEvent e) {
//        if (e.getActionCommand() == "Exit") System.exit(1);
//        else if (e.getActionCommand() == "New Simulation") ;// TODO start new simulation
//    }
//
//
//    public void update(Observable o, Object arg) {
//        Elevator l = (Elevator) o;
//        showElePos(l.getLoc());
//    }
//
//    public void showElePos(int loc) {
//        JLabel floor = (JLabel) floorHash.get(elevator.getPreLoc());
//        floor.setForeground(Color.BLACK);
//        floor = (JLabel) floorHash.get(loc);
//        floor.setForeground(Color.GREEN);
//    }
//
//    public void itemStateChanged(ItemEvent e) {
//        elevator.move(Integer.parseInt((String) e.getItem()));
//    }
//}
